בעלי אתרים מתחלקים לשני סוגים - אלה שעושים גיבוי ואלה שעדיין לא. במדריך הזה נראה איך לעבור מהקבוצה הראשונה לקבוצה השניה באמצעות הכלי mysqldump וגיבוי מסד נתונים mysql לענן.
גיבוי באמצעות mysqldump
זהו הגיבוי הכי פשוט למסדי נתונים מסוג MySQL. כלי מיוחד שמגיע למחשב שלך יחד עם התקנת mysql הוא התוכנה mysqldump שאופן הפעולה שלה פשוט להפליא. היא עוברת על תוכן הטבלאות ויוצרת קובץ עם פקודות sql. כל תוכן המסד הופך להיות אוסף פקודות sql שהפעלתן תיצור מסד זהה עם טבלאות זהות, פונקציות, פרוצדורות, טריגרים, אינדקסים ותוכן זהה.
הפעלת mysqldump
התוכנה mysqldump היא תוכנה של שורת הפקודה ולכן יש להפעיל אותה מתוך הטרמינל בצורה הבאה:
mysqldump -u USERNAME -pPASSWORD > file.sql
username ו-password הם שם המשתמש והסיסמה למסד הנתונים. למשל root או משתמש אחר כלשהו שלו יש גישה למסד שתרצה לגבות.
שים לב שאין רווח בין -p לבין הסיסמה עצמה.
mysqldump תיצור גיבוי מלא של מסד הנתונים עם כל המסדים בפנים, ביניהם גם המסדים mysql, phpmyadmin, test1, test2, test3 וכל מני מסדים שאתה לא באמת צריך בגיבוי שלך. כדי למנוע פקודות מיותרות בקובץ הגיבוי ניתן לרשום אילו מסדים לגבות:
mysqldump -u USERNAME -pPASSWORD --databases db1 > file.sql
ואת קובץ הטקסט שיוצא אפשר לדחוס קצת באמצעות zip או bzip2, לתת לו שם מועיל ואפילו להוסיף את הפקודה הזו לקרון:
4 */6 * * * mysqldump -u root -pxxx database1 | bzip2 > /tmp/$(date +'\%F_\%X')_database1.sql.bz2
פקודת הbackup תופעל כל שש שעות ותיצור קבצים עם שעה ותאריך בשם, כדי שיהיה לנו קל יותר להבין מאוחר יותר ממתי הגיבוי.
מעלים את הגיבוי לענן
למרות שגיבוי לאותו השרת עדיף על פני חוסר גיבויים, גיבוי למחשב אחר טוב יותר.
בתור מחשב אחר יכולים להיות ,dropbox, google drive, s3, azure, skydrive, ya.disk וכל דבר אחר. במקרה שלנו נשתמש ב yandex.disk שנותן 10+1gb חינם, מתופעל על ידי ענקית החיפוש והאינטרנט הרוסית yandex, לא מבקש אישורים בטלפון וכמה שיותר רחוק משירותי הביון האמריקאים.
אחרי ההרשמה תקבל שני בונוסים מ- yandex.disk: תוכנת סנכרון קבצים למחשב בדיוק כמו דרופבוקס ואפשרות לחבר את דיסק הענן שלך לשרת באמצעות webdav, מה שיאפשר לך לגשת מהשרת אל הדיסק שלך ב-yandex כאילו היה דיסק מחובר ישירות לשרת. האחרון זה מה שמעניין אותנו וננצל אותו כדי לשמור את הגיבויים שלנו שם.
התקנה
1. כדי לחבר את דיסק הענן לשרת נתקין כמה חבילות בשרת:
apt-get install davfs2
עבור centos מורידים ומתקינים את הrpm מפה
2. רושמים את נתוני ההתחברות בקובץ /etc/davfs2/secrets
https://webdav.yandex.com [email protected] "userpass"
username הוא שם המשתמש שבחרת בהרשמה
3. קישור הדיסקים
mount -t davfs https://webdav.yandex.com /media/yandex
ההתקנה הושלמה, אפשר לנסות
הפקודה הבאה אמורה ליצור קובץ שיועלה אוטומטית לענן ותוכל לראות אותו דרך ה-web-interface אחרי כמה שניות:
echo "hello" > /media/yandex/test.txt
כל מה שנשאר הוא לשנות את הנתיב בפקודת הקרון וכל שש שעות יעלה ישמר בענן גיבוי חדש של מסד הנתונים שלך.
תגובות לכתבה:
היי אלכס. מאמר חשוב מאוד, ובאמת חשוב מאוד להדגיש את זה לכל המתכנתים שהם בתחילת דרכם שחושבים ש"לי זה לא יקרה" כי בסוף לכולם זה קורה. :)
בכל אופן, הייתי ממליץ להוסיף למדריך עוד סעיף לעבודה עם העלאת קבצים לחשבון SSH מרוחק שגם מאוד פשוט, במיוחד שמשתמשים בכלי האדיר rsync.
המשך שבוע נהדר
יקיר
אני אישיתי מעדיף אחרי הגיבוי להשתמש ב cli של אמאזון ולהעלות את זה ישר ל s3
https://aws.amazon.com/cli